package com.cxh.rmsq.utils

import android.os.Debug
import android.os.Process.myPid
import com.cxh.rmsq.BuildConfig
import kotlin.system.exitProcess

object DebugUtils {

    // 防止该类被实例化，私有构造方法
    private fun DebugUtils() {
        throw AssertionError("Utility class cannot be instantiated")
    }

    /**
     * 检测是否处于调试模式，并处理动态调试检测
     */
    fun isDynamicDebug() {
        // 如果不处于调试模式，继续执行
        if (!BuildConfig.DEBUG) {
            // 检查是否有调试器连接
            if (Debug.isDebuggerConnected()) {
                // 获取当前进程的 PID
                val currentPid = myPid()
                // 结束当前进程
                android.os.Process.killProcess(currentPid)
                // 强制退出虚拟机
                exitProcess(1)
            }
        }
    }
}